package com.wonder.app.service;

import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wonder.app.domain.PickDetail;
import com.wonder.app.domain.PrdPick;
import com.wonder.app.domain.SfcOptrptPackage;
import com.wonder.app.domain.SfcProplan;
import com.wonder.app.request.PickDetailRequest;
import com.wonder.app.request.PrdPickRequest;
import com.wonder.app.request.SfcProplanRequest;

import java.util.List;
import java.util.Map;

public interface PrdPickService extends IService<PrdPick> {

    public IPage<PrdPick> selectList(PrdPickRequest request, Page<PrdPick> page);
    /**
     * 详情Stkotherout
     * @param map
     * @return
     */
    Map<String, Object> getPrdPickDetail(Map<String, Object> map);

    String validate(PrdPick prdPick,String type);

    /**
     * 创建生产领料单
     * @param userName
     * @param map
     * @return
     * @throws Exception
     */
     Boolean createPickBill(Long userId, String userName, Map<String, Object> map) throws Exception;

    Boolean createPickDetailTemp(String userName, Map<String, Object> map)throws Exception;

    Boolean deletePickDetailTemp(String userName, Map<String, Object> map) throws Exception;

    Boolean createPickBillPackage(Long user_id, String userName, SfcOptrptPackage sfcOptrptPackage  ) throws Exception;

    Map<String, Object> getJijiaTray(Map<String, Object> map)throws Exception;

    Boolean updateJijiaTray(Map<String, Object> map)throws Exception;

    Boolean updatePrint(String userName, Map<String, Object> map)throws Exception;

    IPage<PickDetail> selectDetailList(PickDetailRequest detailRequest, Page<PickDetail> page)throws Exception;
}